Rhapsody Developer Copyright 1997 by Apple Computer, Inc. All Rights Reserved.
These notes are for the Project Builder application distributed with the Rhapsody Developer release. Project Builder provides integrated code development capabilities for the sophisticated developer. Its main window combines a project browser with a full-featured code editor. It offers separate panels for building and debugging projects, for finding information in the project, and for setting project, build, and file attributes. To familiarize yourself with Project Builder's capabilities and features, you can do one of the following.
The following features are new since OPENSTEP Enterprise 4.2 (NeXT):
Project Builder complies with the Rhapsody User Experience guidelines; consequently, the menu layout is different from the way it was in OPENSTEP. The release notes for the Application Kit contain preliminary guidelines for menu layout.
The framework reference and some other documentation has been converted to standard HTML. To support this change, Project Builder now displays HTML documents and allows you browse documentation by clicking links. Choose Help from the Help menu to get an overview of this feature. Framework documentation files are still accessible from the Frameworks suitcase.
The Loaded Files panel is now merged with the project browser. It appears to the right of the browser and has a different background color to make it stand out. There is a vertical split view between the browser and the loaded files scroll view. The default number of browser columns is now 3; you can change this default by entering the following in a Terminal shell:
defaults write Project Builder NumberOfBrowserColumns number_of_columns
Instead of coloring unterminated strings to the end of file (as it did in previous versions), Project Builder stops coloring at the end of line. Syntax coloring is also faster.
Each editing view has a redesigned divider. The new divider now
has identifying information on the left side and new controls on the
right. The controls enable you to (left to right) compile single
modules, swap header and implementation files into the editor, and
split and close editing views.
For code editors (editing views in standalone windows) (see Editing in Separate Windows) the "split view" and "close view" controls are absent.
You can now display documentation files in their own view or window. You control this behavior through the "Open Documentation Files in" section of the General display of the Preferences panel:
If Current View is selected, documentation files replace the current text. If Documentation View is selected, Project Builder creates (if necessary) and reuses a view reserved for documentation files (this may split your current view in two). If you select Documentation Window, Project Builder creates (if necessary) and reuses a window reserved for documentation files. In the last two cases a documentation file never replaces a source file and vice versa.
If you check "Open all files in separate windows," Project Builder creates a new window for each opened documentation file.
A new editing mode puts all code editors in windows separate from the project's main window, which contains only the project browser and the loaded-files scroll view. The only way to reuse editing views in this mode is by using the header/implementation file-swapping function. To enable this mode check the "Open all files in separate windows" in the General display of the Preferences panel.
To have Project Builder automatically save edited files before you build a project, check the "Always save files when building" option in the Saving preferences display.
Two new menu items in the Tools menu allow you to automatically combine commonly performed actions:
The Build Attributes display of the project inspector now allows
you to choose compilers for Java and Objective-C++ projects.
Alternative compilers, however, might not be available for this
release.
Support for external debuggers and editors has been removed until
a more robust implementation is available.
When Project Builder opens or creates a project, or when it loads large HTML files, it displays an attention panel with a progress indicator.
A question-mark button has been added to the right of the toolbar on the main project window. Clicking this button activates context-help mode, a mode in which the cursor image changes to a question mark. In this mode, you can get information on items on the user interface by clicking them. You can also use this button for "Click-To-Find" operations to access symbols in the project's index. To get definitions for source code symbols, move the cursor over the source file and click when the symbol has been highlighted. This will bring up the Project Find panel to display the results.
A new light-weight style of project indexing debuts in this
release on OPENSTEP for both Mach and Windows. Fuzzy indexing
generates a more reliable and economical index. Fuzzy parsing is not
based on rhe strict preprocessing and formal parsing methodology
employed in OPENSTEP 4.0 and OPENSTEP 4.1. In addition to using less
virtual memory and CPU time, the fuzzy parsing system can index
symbols inside #ifdefs
that are not currently turned on
in your builds.
With fuzzy indexing, information about frameworks is shared across projects that link against them and can be accessed from the Project Find panel. Information about other imported header files, however, is not currently stored. All existing preferences, Indexing panel operations, and Project Find queries are integrated with the fuzzy indexing feature.
You can browse the reference documentation associated with a framework in addition to using the Project Find panel to find specific descriptions. The Frameworks suitcase in the project browser shows, for each framework, documentation available on-line. On Mach, you can browse the documentation and display any file directly from the project browser. On Windows, the WinHelp system is used to display a selected documentation item.
Project Builder can use syntax coloring when it displays source-code files of different languages (C, C++, Objective-C, Java). Syntax coloring shows the parts of source code (tokens) using different text attributes. For instance, comments can appear in italic text and string constants in red.
A Syntax Coloring display has been added to the Preferences panel. It permits you to turn the syntax coloring off or change the font and color for each lexical category of code.
The current set of lexical categories include Comments, Keywords, Strings and Numbers. You can also use the normal text attributes for a lexical category inherited from the existing Fonts, Sizes &Colors display of the Preferences panel. Tokens that don't appear in one of the lexical categories (for example, identifiers) always inherit these default attributes. Turning syntax coloring on and off takes place as soon as the Set button is clicked. Revert restores the previously-saved syntax-coloring preferences.
A number of bugs have been fixed in the Launcher/Debugger facilicities of Project Builder and new features have been introduced. These features include the ability to set the directory paths needed for dynamically loaded libraries and, on Windows, better integration between building and debugging executables. When you enter a path in the Environment section of the Launcher Options panel, the Launcher sets the environment variable necessary for launched and debugged programs to use dynamically loaded libraries located in the specified directory. When you build a project on Windows, the final link of the executable will fail if the executable is being run or debugged. Project Builder now asks if you want to stop a launched executable when building. If the executable is being debugged, Project Builder will notify gdb to release the executable and then reload its symbols when the build finishes. While the build is in progress, you cannot run the executable from within the debugger, but you can manipulate breakpoints.
Reference |
1671760 |
Problem |
Project Builder erroneously warns of unsaved nib files. |
Description |
If you create a new nib file when you have a project nib file already opened, and then attempt to build the project, Project Builder asks if you want to save the nib file. Even if you respond "Yes" to this prompt, Project Builder asks you the same question on subsequent builds. |
Workaround |
Quit and relaunch Project Builder. |
Reference |
1671447 |
Problem |
Project Builder crashes when the project window is closed during a build. |
Workaround |
Do not close a project window while a build is going on. |
Reference |
1671432 |
Problem |
Project Builder quits after a project window is closed. |
Description |
If you close the last project window, not matter what panels or secondary windows are opened, Project Builder quits. |
Workaround |
Don't close the last project window. |
Reference |
1671456 |
Problem |
Project Builder crashes on empty symbolic link. |
Description |
If a project item is a symbolic link, and the item to which the symbolic link refers is then renamed, moved, or removed, Project Builder crashes the next time the symbolic link is selected. |
Workaround |
None. |
Reference |
1671798 |
Problem |
Window resize problem with split view bar. |
Description |
If you resize the project window so that the split view bar disapperas, then make the window bigger again, the lower view reappears, even if the split view was at the bottom before resizing. |
Workaround |
None. |
Reference |
1671807 |
Problem |
Project Builder's Service menu does not work correctly |
Description |
You cannot use the Mail->Document option of the Services menu to send the contents of Project Builder's active view to MailViewer's Compose window. |
Workaround |
To mail a project file, drag the file's icon into the Compose window. |
Reference |
1679603 |
Problem |
Large indentation values hang Project Builder. |
Description |
If you type a very large value (for example, 20000000) in the Per Level field of the Indentation preferences, Project Builder will hang. |
Workaround |
Type a reasonable value |